#pragma once 

/* the framework of implement objects */
namespace Framework
{
    // an anbstract class that impelements `use` method
    class Product
    {
    public:
        virtual void use() = 0;
    };
};